package com.yingyi.sync;


import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.client.producer.DefaultMQProducer;
import org.apache.rocketmq.client.producer.SendResult;
import org.apache.rocketmq.common.message.Message;

import java.nio.charset.StandardCharsets;

/**
 * 同步消息发送
 * 这种可靠性同步地发送方式使用的比较广泛，比如：重要的消息通知，短信通知。
 */
public class Producer {
    public static void main(String[] args) throws Exception {
        // 创建生产者对象
        DefaultMQProducer producer = new DefaultMQProducer("sync_producer_group");
        // 设置NameSvr地址
        producer.setNamesrvAddr("localhost:9876");

        // 启动
        producer.start();
        // 创建消息 Topic tag body
        Message message = new Message("sync", "hello", "nothing is possible".getBytes(StandardCharsets.UTF_8));
        //发送
        SendResult result = producer.send(message);
        // 通过sendResult返回消息是否成功送达
        System.out.printf("%s%n", result);
        //关闭
        producer.shutdown();
    }
}
